Token-based web browsing with visual feedback of disclosure

ABSTRACT

A data communications network may be browsed using one or more tokens by receiving an input keyword string from a user, determining whether there is a match between the input keyword string and a database of keyword strings, determining a category of the keyword string, rendering to the user at least one service identifier associated with the category, receiving a user-selected service identifier in response to the rendering, substituting at least one variable in a resource locator template associated with the service with a string based at least in part on the keyword string entered by the user and launching the resource locator. According to one aspect, a special rendering of a hyperlink corresponding to the resource locator is used to indicate private data will be disclosed upon launching the resource locator.

This application is a divisional of U.S. patent application Ser. No.10/355,719, entitled “Token-Based Web Browsing With Visual Feedback ofDisclosure” by Joseph Peter Robert Tosey, filed on Jan. 31, 2003 nowU.S. Pat. No. 7,167,905.

FIELD OF THE INVENTION

The present invention relates to the field of computer science. Moreparticularly, the present invention relates to a method and apparatusfor token-based Web browsing with visual feedback of disclosure.

BACKGROUND OF THE INVENTION

The ability to quickly access information about various services isimportant to the typical user of a wireless user device such as a mobilephone or a personal data assistant (PDA). Such a user typically accessesinformation by entering the name of the item for which information isdesired. For example, a user desiring to find a movie review for a filmentitled “Dances with Wolves” would enter the keyword string “Danceswith Wolves”. The wireless user device must then obtain this informationand render it to the user. Some of the information may reside locally onthe user device, while other information must be obtained from anexternal source.

In one solution, the wireless user device periodically communicates withone or more service providers to obtain updates for all informationavailable to the wireless user device. This enables the user to storethe entire body of information locally. Unfortunately, this solutionrequires a relatively large database on a user device. Such a localdatabase typically becomes outdated quickly and is difficult tomaintain.

Another solution includes requiring the user search a World Wide Web(“Web”) portal for the desired information. Unfortunately, this solutionrequires the user enter a relatively large amount of text. Furthermore,Web portals typically have a relatively large amount of latency andportal menus typically change frequently, confusing the user.

Additionally, obtaining useful information from an external source suchas a service provider often requires disclosing private data. Forexample, a user desiring weather information for the user's currentlocation must first disclose the location. For various reasons, the usermay not want this information disclosed.

Accordingly, a need exists in the prior art for a solution that supportslocal searching on a device, such that a service is accessible by name.A further need exists for such a solution that minimizes the amount oftext that a user must enter. Yet another need exists for a solution thatmaintains data on the device as long as possible. A further need existsfor such a solution that allows private data to be incorporated into asearch on a query-by-query basis, simply and efficiently, but with theuser's knowledge and consent. Yet another need exists for such asolution that allows a relatively large amount of content to be storedon a wireless user device.

SUMMARY OF THE INVENTION

A data communications network may be browsed using one or more tokens byreceiving an input keyword string from a user, determining whether thereis a match between the input keyword string and a database of keywordstrings, determining a category of the keyword string, rendering to theuser at least one service identifier associated with the category,receiving a user-selected service identifier in response to therendering, substituting at least one variable in a resource locatortemplate associated with the service with a string based at least inpart on the keyword string entered by the user and launching theresource locator. According to one aspect, a special rendering of ahyperlink corresponding to the resource locator is used to indicateprivate data will be disclosed upon launching the resource locator.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated into and constitute apart of this specification, illustrate one or more embodiments of thepresent invention and, together with the detailed description, serve toexplain the principles and implementations of the invention.

In the drawings:

FIG. 1 is a block diagram of a computer system suitable for implementingaspects of the present invention.

FIG. 2 is a block diagram that illustrates installing one or moredatabases on a wireless user device in accordance with one embodiment ofthe present invention.

FIG. 3 is a flow diagram that illustrates installing one or moredatabases for token-based browsing on a wireless user device inaccordance with one embodiment of the present invention.

FIG. 4 is a block diagram that illustrates using a wireless user deviceconfigured for token-based browsing in accordance with embodiments ofthe present invention.

FIG. 5 is a flow diagram that illustrates using a wireless user deviceconfigured with a token-based Web browser in accordance with oneembodiment of the present invention.

FIG. 6A is a block diagram that illustrates a keyword string database inaccordance with one embodiment of the present invention.

FIG. 6B is a block diagram that illustrates private data stored on awireless user device in accordance with one embodiment of the presentinvention.

FIG. 7A is a block diagram that illustrates a resource locator templatein accordance with one embodiment of the present invention.

FIG. 7B is a block diagram that illustrates a brand resource locatortemplate database in accordance with one embodiment of the presentinvention.

FIG. 7C is a block diagram that illustrates a title resource locatortemplate database in accordance with one embodiment of the presentinvention.

FIG. 7D is a block diagram that illustrates a generic resource locatortemplate database in accordance with one embodiment of the presentinvention.

FIG. 7E is a block diagram that illustrates a single service resourcelocator template database in accordance with one embodiment of thepresent invention.

FIG. 8A is a block diagram that illustrates a location disclosure iconin accordance with one embodiment of the present invention.

FIG. 8B is a block diagram that illustrates a financial disclosure iconin accordance with one embodiment of the present invention.

FIG. 8C is a block diagram that illustrates a location disclosurerendering in accordance with one embodiment of the present invention.

FIG. 8D is a block diagram that illustrates a location disclosure buttonin accordance with one embodiment of the present invention.

FIG. 9 is a flow diagram that illustrates a method for rendering arequest for data from an external device to indicate private data willbe disclosed upon issuing the request, in accordance with one embodimentof the present invention.

FIG. 10 is a block diagram that illustrates rendering a hyperlink toinclude a disclosure icon if the corresponding resource locator requiresprivate data, in accordance with one embodiment of the presentinvention.

FIG. 11 is flow diagram that illustrates a method for rendering ahyperlink to include a disclosure icon if the resource locatorcorresponding to the hyperlink requires private data, in accordance withone embodiment of the present invention.

FIG. 12A is a block diagram of a resource locator that requires privatedata.

FIG. 12B is a block diagram of a hyperlink that illustrates renderingthe resource locator of FIG. 12A as a hyperlink that shows the privatedata to be disclosed upon user-selection of the hyperlink, in accordancewith one embodiment of the present invention.

FIG. 12C is a block diagram of a hyperlink that illustrates renderingthe resource locator of FIG. 12A as a hyperlink that shows a transformedversion of the private data to be disclosed upon user-selection of thehyperlink, in accordance with one embodiment of the present invention.

FIG. 12D is a block diagram of a hyperlink that illustrates renderingthe resource locator of FIG. 12A as a hyperlink that discloses a morespecific version of the private data to be disclosed upon user-selectionof the hyperlink, in accordance with one embodiment of the presentinvention.

FIG. 12E is a block diagram of a hyperlink that illustrates renderingthe resource locator of FIG. 12A as a hyperlink that discloses ageneralized version of the private data to be disclosed uponuser-selection of the hyperlink, in accordance with one embodiment ofthe present invention.

FIG. 13 is a flow diagram that illustrates a method for rendering ahyperlink to indicate the private data that will be disclosed uponlaunching the resource locator associated with the hyperlink, inaccordance with one embodiment of the present invention.

FIG. 14 is a block diagram that illustrates incrementally updating anresource locator to indicate private data to be disclosed upon launchingthe resource locator, in accordance with one embodiment of the presentinvention.

FIG. 15 is a flow diagram that illustrates incrementally updating anresource locator to indicate private data to be disclosed upon launchingthe resource locator, in accordance with one embodiment of the presentinvention.

FIG. 16 is a block diagram that illustrates dynamically modifying theamount of private data to be disclosed upon selection of a hyperlink, inaccordance with one embodiment of the present invention.

FIG. 17 is a flow diagram that illustrates modifying the amount ofprivate data to be disclosed upon selection of a hyperlink, inaccordance with one embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention are described herein in the contextof a method and apparatus for token-based Web browsing with visualfeedback of disclosure. Those of ordinary skill in the art will realizethat the following detailed description of the present invention isillustrative only and is not intended to be in any way limiting. Otherembodiments of the present invention will readily suggest themselves tosuch skilled persons having the benefit of this disclosure. Referencewill now be made in detail to implementations of the present inventionas illustrated in the accompanying drawings. The same referenceindicators will be used throughout the drawings and the followingdetailed description to refer to the same or like parts.

In the interest of clarity, not all of the routine features of theimplementations described herein are shown and described. It will, ofcourse, be appreciated that in the development of any such actualimplementation, numerous implementation-specific decisions must be madein order to achieve the developer's specific goals, such as compliancewith application- and business-related constraints, and that thesespecific goals will vary from one implementation to another and from onedeveloper to another. Moreover, it will be appreciated that such adevelopment effort might be complex and time-consuming, but wouldnevertheless be a routine undertaking of engineering for those ofordinary skill in the art having the benefit of this disclosure.

In accordance with one embodiment of the present invention, thecomponents, process steps, and/or data structures may be implementedusing various types of operating systems (OS), computing platforms,firmware, computer programs, computer languages, and/or general-purposemachines. The method can be run as a programmed process running onprocessing circuitry. The processing circuitry can take the form ofnumerous combinations of processors and operating systems, or astand-alone device. The process can be implemented as instructionsexecuted by such hardware, hardware alone, or any combination thereof.The software may be stored on a program storage device readable by amachine.

In addition, those of ordinary skill in the art will recognize thatdevices of a less general purpose nature, such as hardwired devices,field programmable logic devices (FPLDs), including field programmablegate arrays (FPGAs) and complex programmable logic devices (CPLDs),application specific integrated circuits (ASICs), or the like, may alsobe used without departing from the scope and spirit of the inventiveconcepts disclosed herein.

In the context of the present invention, the term “network” includeslocal area networks, wide area networks, the Internet, cable televisionsystems, telephone systems, wireless telecommunications systems, fiberoptic networks, ATM networks, frame relay networks, satellitecommunications systems, and the like. Such networks are well known inthe art and consequently are not further described here.

In the context of the present invention, the term “wireless user device”includes any device capable of wireless communication and capable ofrendering information to a user. The information may be rendered, by wayof example, by visual, auditory or tactile means. Exemplary wirelessuser devices include, by way of example, a personal digital assistant(PDA), a mobile phone, a personal computer, a pager, or the like.

In the context of the present invention, the term “private data” refersto personal information about a user. A user may desire to limit orrestrict dissemination or availability of such information. Private datamay be unique for a particular individual. A social security number isan example of private data that is unique to a particular individual.Private data may also be non-unique information concerning a particularindividual. A language preference of “English” is an example of privatebut non-unique information concerning a particular individual.

In the context of the present invention, the term “keyword string”refers to one or more keywords comprising one or more characters, whichtogether represent the name of an object or the attributes of an objectassociated with a service. In accordance with one embodiment of thepresent invention, a keyword string represents well-known brands, titlesand generic categories. Exemplary brands include the keyword strings“Starbucks”, “Olive Garden” and “Alpo”. Exemplary titles include thekeyword strings “Dances with Wolves”, “Mission Impossible” and “HarryPotter”. Exemplary generic categories include “ATM”, “Weather” and“Hospital”.

In the context of the present invention, the term “resource locator” or“RL” is defined as an identifier used for accessing a resource. Aresource locator may be the name of the resource. A resource locator mayalso be a Uniform Resource Identifier (URI). More particularly, aresource locator may be a uniform resource locator (URL). URIs and URLsare described in T. Berners-Lee, “Uniform Resource Identifiers (URI):Generic Syntax”, Network Working Group Request for Comments: 2396,August 1998. The resource may be an HTML page, an image file, a programsuch as a common gateway interface application (CGI) or Java™ applet, atext file, a document, or the like.

FIG. 1 depicts a block diagram of a computer system 100 suitable forimplementing aspects of the present invention. As shown in FIG. 1,system 100 includes a bus 102 which interconnects major subsystems suchas a processor 104, an internal memory 106 (such as a RAM), aninput/output (I/O) controller 108, a removable memory (such as a memorycard), an external device such as a display screen 110 via displayadapter 112, a roller-type input device 114, a joystick 116, a numerickeyboard 118, an alphanumeric keyboard 118, directional navigation pad126 and a wireless interface 120. Many other devices can be connected.Wireless network interface 120, wired network interface 128, or both,may be used to interface to a local or wide area network (such as theInternet) using any network interface system known to those skilled inthe art.

Many other devices or subsystems (not shown) may be connected in asimilar manner. Also, it is not necessary for all of the devices shownin FIG. 1 to be present to practice the present invention. Furthermore,the devices and subsystems may be interconnected in different ways fromthat shown in FIG. 1. Code to implement the present invention may beoperably disposed in internal memory 106 or stored on storage media suchas removable memory 122, a floppy disk or a CD-ROM.

Turning now to FIG. 2, a block diagram that illustrates installing oneor more databases on a wireless user device in accordance with oneembodiment of the present invention is presented. Wireless user device208 includes a user interface 212 configured to receive input from auser 202 and to render digital content to the user 202. Wireless userdevice 208 also includes a matcher 210 in communication with both theuser interface 212 and a keyword string database. Matcher 210 isconfigured to receive an input keyword string from the user interface212, and match the input keyword string with one or more other keywordstrings in keyword string database 214. Wireless user device 208 alsoincludes a menu constructor 216 configured to receive a keyword stringfrom the matcher 210, determine the category of the keyword string.According to one embodiment of the present invention, the keyword stringcategories comprise a “brand” category for keyword strings thatrepresent brands, a “title” category for keyword strings that representtitles and a “generic” category for keyword strings that belong to noother category.

Still referring to FIG. 2, menu constructor 216 is configured to use thecategory to obtain one or more corresponding service identifiers andtheir associated resource locator template from a resource locatortemplate database 220. Service identifiers and resource locatortemplates are explained in more detail below with reference to FIG. 7.The menu constructor is also configured to make a list or menu basedupon the one or more corresponding service identifiers and provide themenu to user 202 via user interface 212. Wireless user device 208 alsoincludes a resource locator populator 218 configured to receive anindication of the selected service and populate the correspondingresource locator template with the keyword string and the private datastored in private data store 222. Wireless network interface 224 isconfigured to communicate via network 230 to obtain the correspondingservice from one or more service providers 232.

The one or more service providers 232 are configured to initializewireless user device 208 with a keyword string database 214 and aresource locator template database 220. The information used to populatedatabases 214 and 220 may be extracted from a memory (not shown in FIG.2) under the control of the one or more service providers 232.

Many other devices or subsystems (not shown) may be connected in mannersimilar to that shown in FIG. 2. Also, it is not necessary for all ofthe devices shown in FIG. 2 to be present to practice the presentinvention. Furthermore, the devices and subsystems may be interconnectedin different ways from that shown in FIG. 2. The operations describedwith respect to matcher 210, user interface 212, resource locatorpopulator 218, menu constructor 216 and wireless network interface 224may be combined in various ways. Also, keyword string database 214,resource locator template database 220 and private data store 222 may becombined into a smaller number of databases, or further divided into alarger number of databases. Use of wireless user device 208 is describedbelow in more detail, with reference to FIG. 4.

Turning now to FIG. 3, a flow diagram that illustrates installing one ormore databases for token-based browsing on a wireless user device inaccordance with one embodiment of the present invention is presented. At300, an initialization request is received. At 305, a keyword stringdatabase that includes one or more keyword strings representing the nameof an object or the attributes of an object associated with a service iscreated. At 310, a resource locator template database that includes oneor more entries comprising a service name and a resource locatortemplate is created. At 315, the keyword string database and theresource locator template database are provided in response to theinitialization request.

Turning now to FIG. 4, a block diagram that illustrates using a wirelessuser device configured for token-based browsing in accordance withembodiments of the present invention is presented. FIG. 4 illustratesuse of wireless user device 408 after it has been initialized asdescribed above with reference to FIG. 2. A user 402 enters an inputkeyword string comprising one or more keywords comprising one or morecharacters. User interface 412 receives the input keyword string andsends it to matcher 410. Matcher 410 receives the input keyword stringand matches it with one or more other keyword strings in a keywordstring database 414.

According to one embodiment of the present invention, matcher 410 isconfigured to perform predictive matching, indicating a match based onincomplete input when further input cannot reduce the number of possiblematches. Matches may be based on a prefix of a word. By way of example,the keyword string “jo” matches “john” and “jon”, but not “mojo”.

According to another embodiment of the present invention, matches arebased on one or more words in a keyword string, regardless of the orderof keywords within the keyword string. By way of example, the keywordstring “d jo” matches “doctor john smith” and “john dickenson”. In thisexample, the “d” in “d jo” matches the “doctor” keyword of “doctor john”and the “dickenson” of “john dickenson”. And the “jo” in “d jo” matchesthe “john” in “doctor john” and the “John” in “john dickenson”.

According to another embodiment of the present invention, apredetermined set of input characters are translated to the spacecharacter prior to performing a match. According to one embodiment ofthe present invention, the predetermined set of input characterscomprises all non-alphanumeric characters. By way of example, thekeyword string “d/jo” is translated to the keyword string “d jo”, andthe keyword string “j.d” is translated to the keyword string “j d”. Thustranslated, both keyword strings “d/jo” and “j.d” match the keywordstring “john dickenson”.

Still referring to FIG. 4, matcher 410 returns a matching keyword stringto user interface 412. User interface 412 receives the matching keywordstring and communicates it to menu constructor 416. Menu constructor 416receives the keyword string from the matcher, determines the category ofthe keyword string and uses the category to obtain one or morecorresponding service identifiers and their associated resource locatortemplate from a resource locator template database 220. Menu constructormakes a list or menu based upon the one or more corresponding serviceidentifiers and provides the menu to user 402 via user interface 412.resource locator populator 418 receives an indication of the selectedservice and populates the corresponding resource locator template withthe keyword string and private data if required by the resource locatortemplate. Wireless network interface 466 receives the populated resourcelocator and communicates via network 430 to obtain a service from atleast one service provider 432.

Turning now to FIG. 5, a flow diagram that illustrates using a wirelessuser device configured with a token-based Web browser in accordance withone embodiment of the present invention is presented. At 500, a keywordstring from a user is received. At 505, a determination is maderegarding whether the received keyword string matches a keyword stringin a database of keyword strings. According to one embodiment of thepresent invention, predictive matching is used to indicate a match basedon incomplete input when further input cannot reduce the number ofpossible matches. At 510, the category of the keyword string isdetermined. At 515, at least one service identifier associated with thecategory is rendered to the user. At 520, a user-selected serviceidentifier is received. At 525, at least one variable in a resourcelocator template associated with the service is substituted with astring based at least in part on the keyword string entered by the user.At 530, the resource locator is launched.

Turning now to FIG. 6A, a block diagram that illustrates a keywordstring database in accordance with one embodiment of the presentinvention is presented. As shown in FIG. 6A, keyword string database 600comprises one or more keyword strings (602-612). Keyword strings inkeyword string database 600 are compared with an input keyword string todetermine a match. The keyword strings illustrated in database 600 arefor purposes of illustration only. Those of ordinary skill in the artwill recognize that many other keyword strings are possible.

Turning now to FIG. 6B, a block diagram that illustrates private datastored on a wireless user device in accordance with one embodiment ofthe present invention is presented. The exemplary private data shown inFIG. 6B is a user's location 622, service preference 624, wirelesscarrier 626, preferred language 628, dietary preference 630, name 632,age 634, social security number 636, bank card number 638 and emailaddress 640. The private data illustrated in database 620 are forpurposes of illustration only. Those of ordinary skill in the art willrecognize that many other private data are possible.

FIGS. 7A-7E illustrate resource locator templates and resource locatortemplate databases in accordance with embodiments of the presentinvention. FIG. 7A illustrates a resource locator template, and FIGS.7B-7E illustrate template databases for brands, titles, generic itemsand single-service objects, respectively. Each entry in the databases ofFIGS. 7B-7D includes the name of a service and a resource locatortemplate, while the database of FIG. 7E maps a specific keyword stringto a resource locator template.

FIGS. 8A-17 illustrate various mechanisms for providing visual feedbackof information to be disclosed to an external entity, in accordance withembodiments of the present invention. FIGS. 8A-8D illustrate methods forrendering a hyperlink that indicates private data will be disclosed uponlaunching the corresponding resource locator. FIG. 9 illustratesrendering a request for data from an external device to indicate privatedata will be disclosed upon issuing the request. FIGS. 10-11 illustraterendering a hyperlink to include a disclosure icon if the resourcelocator corresponding to the hyperlink requires private data. FIGS.12A-13 illustrate rendering a resource locator as a hyperlink that showsthe various levels of detail of private data to be disclosed uponuser-selection of the hyperlink. FIGS. 14-15 illustrate incrementallyupdating a resource locator to indicate private data to be disclosedupon launching the resource locator. FIGS. 16-17 illustrate dynamicallymodifying the amount of private data to be disclosed upon selection of ahyperlink.

FIGS. 8A and 8B illustrate using a “disclosure icon” to indicate privatedata will be disclosed upon launching a corresponding resource locator,while FIGS. 8C and 8D use a particular rendering of a hyperlink to makethe indication.

Turning now to FIG. 8A, a block diagram that illustrates a locationdisclosure icon in accordance with one embodiment of the presentinvention is presented. As shown in FIG. 8A, a location disclosure icon800 is presented with hyperlink 805 to indicate private data will bedisclosed upon selecting the corresponding hyperlink 805. In this case,the private data to be disclosed is the location of the user, allowing aservice provider to determine one or more Italian restaurants near theuser's current location.

Turning now to FIG. 8B, a block diagram that illustrates a financialdisclosure icon in accordance with one embodiment of the presentinvention is presented. As shown in FIG. 8B, a financial disclosure icon810 is presented with hyperlink 815 to indicate private data will bedisclosed upon selecting the corresponding hyperlink 815. In this case,the private data to be disclosed is the bank card information of theuser, allowing a service provider to complete a purchase transaction bydebiting the user's account.

Turning now to FIG. 8C, a block diagram that illustrates a locationdisclosure rendering in accordance with one embodiment of the presentinvention is presented. As shown in FIG. 8C, the rendering of ahyperlink 820 is modified to indicate private data will be disclosedupon selecting the corresponding hyperlink 820. The particular renderingshown uses the font “Harlow Solid Italic” to indicate the pendingdisclosure of private data and is for illustrative purposes only. Thoseof ordinary skill in the art will recognize that many other renderingsare possible.

Turning now to FIG. 8D, a block diagram that illustrates a locationdisclosure button in accordance with one embodiment of the presentinvention is presented. As shown in FIG. 8D, a location disclosurebutton is used to indicate private data will be disclosed to indicateprivate data will be disclosed upon selecting the correspondinghyperlink.

Turning now to FIG. 9, a flow diagram that illustrates a method forrendering a request for data from an external device to indicate privatedata will be disclosed upon issuing the request, in accordance with oneembodiment of the present invention is presented. At 900, a request fordata from an external device is received. At 905, a determination ismade regarding whether the request includes private data. If the requestdoes not include private data, the requested data is displayed at 910.If the request includes private data, the request is rendered toindicate private data will be disclosed upon issuing the request.

Turning now to FIG. 10, a block diagram that illustrates rendering ahyperlink to include a disclosure icon if the corresponding resourcelocator requires private data, in accordance with one embodiment of thepresent invention is presented. As shown in FIG. 10, resource locator1000 includes a reference to a location variable 1005. Upon launchingresource locator 1000, location variable 1005 is replaced with thelocation of a user, thus disclosing the user's location. According toone embodiment of the present invention, the user is made aware of thepotential disclosure of private data by automatically rendering ahyperlink with a disclosure icon 1020 when launching the resourcelocator 1000 will require disclosure of private data 1005. As shown inFIG. 10, resource locator 1000 is automatically rendered as a hyperlink1025 that includes a disclosure icon 1020.

Turning now to FIG. 11, flow diagram that illustrates a method forrendering a hyperlink to include a disclosure icon if the resourcelocator corresponding to the hyperlink requires private data, inaccordance with one embodiment of the present invention is presented. At1100, a resource locator is received. At 1105, a determination is maderegarding whether launching the resource locator will disclose privatedata. If launching the resource locator will not disclose private data,at 1110 a rendering is provided. If launching the resource locator willdisclose private data, at 115 a rendering that indicates private datawill be disclosed upon launching the resource locator is provided. At1120, a determination is made regarding whether the resource locator hasbeen selected. If the resource locator has been selected, it is launchedat 1125.

FIGS. 12A-12E illustrate automatically updating a hyperlink to indicateprivate data to be disclosed upon user-selection of the hyperlink inaccordance with embodiments of the present invention. FIG. 12Aillustrates a resource locator that requires private data (city). FIG.12B illustrates rendering the resource locator of FIG. 12A as ahyperlink 1225 that shows the private data (1220) to be disclosed uponuser-selection of the hyperlink 1225. Here, the disclosure icon 1220indicates the location “Vancouver.BC.CA” will be disclosed uponuser-selection of the hyperlink 1225. FIG. 12C illustrates rendering theresource locator of FIG. 12A as a hyperlink 1235 that shows atransformed version of the private data (1230) to be disclosed uponuser-selection of the hyperlink 1235. Here, the disclosure icon 1230indicates the location “Vancouver” will be disclosed upon user-selectionof the hyperlink 1235. FIG. 12D illustrates rendering the resourcelocator of FIG. 12A as a hyperlink 1245 that discloses a more specificversion of the private data (1240) to be disclosed upon user-selectionof the hyperlink 1245. Here, the disclosure icon 1240 indicates thelocation “Main St” will be disclosed upon user-selection of thehyperlink 1245. FIG. 12E illustrates rendering the resource locator ofFIG. 12A as a hyperlink 1255 that discloses a generalized version of theprivate data (1250) to be disclosed upon user-selection of the hyperlink1255. Here, the disclosure icon 1250 indicates the location “Earth” willbe disclosed upon user-selection of the hyperlink 1255.

Turning now to FIG. 13, a flow diagram that illustrates a method forrendering a hyperlink to indicate the private data that will bedisclosed upon launching the resource locator associated with thehyperlink, in accordance with one embodiment of the present invention ispresented. At 1300, a resource locator is received. At 1305, adetermination is made regarding whether launching the resource locatorwill disclose private data. If launching the resource locator will notdisclose private data, a rendering is provided at 1310. If launching theresource locator will disclose private data, at 1315 a rendering thatindicates the private data that will be disclosed upon launching theresource locator is provided. At 1320, a determination is made regardingwhether the resource locator was selected. If the resource locator wasselected, at 1325 the resource locator is launched.

Turning now to FIG. 14, a block diagram that illustrates incrementallyupdating a resource locator to indicate private data to be disclosedupon launching the resource locator, in accordance with one embodimentof the present invention is presented. As shown in FIG. 14, a hyperlinkbased on a resource locator 1470 that requires private data 1410 isinitially rendered as a hyperlink 1430 that reveals user-selection ofthe hyperlink 1430 will require disclosure of private data, withoutspecifying the private data to be disclosed. In this case, icon 1425indicates location information will be disclosed. Upon user-selection oficon 1425, it is transformed to indicate the actual data to besubmitted. In this case, the user's location is Vancouver 1440. Uponuser-selection of hyperlink 1445, the associated resource locatorincluding the private data 1465 is launched.

Turning now to FIG. 15, a flow diagram that illustrates incrementallyupdating a resource locator to indicate private data to be disclosedupon launching the resource locator, in accordance with one embodimentof the present invention is presented. At 1300, a resource locator isreceived. At 1505, a determination is made regarding whether launchingof the resource locator will disclose private data. If launching of theresource locator will not disclose private data, at 1510 a rendering isprovided. If launching of the resource locator will disclose privatedata, at 1515 a rendering that indicates private data will be disclosedupon launching the resource locator is provided. At 1520, adetermination is made regarding whether the resource locator has beenselected. If the resource locator has been selected, at 1525 a renderingthat indicates the private data that will be disclosed upon launchingthe resource locator is provided. At 1530, a determination is maderegarding whether the hyperlink associated with the resource locator hasbeen selected. If the hyperlink has been selected, it is launched at1535.

Turning now to FIG. 16, a block diagram that illustrates dynamicallymodifying the amount of private data to be disclosed upon selection of ahyperlink, in accordance with one embodiment of the present invention ispresented. As shown in FIG. 16, a hyperlink based on a resource locator1665 that requires private data 1610 is initially rendered as ahyperlink 1630 that reveals user-selection of the hyperlink 1630 willrequire disclosure of private data. In this case, icon 1625 indicateslocation information will be disclosed. At this point, the user isallowed to downgrade the link to a form that does not require disclosureof private data. According to one embodiment of the present invention,the user right-clicks on the hyperlink 1630 and selects from a pop-upproperty menu a “disable personal information” option or the equivalent.According to another embodiment of the present invention, the userpresses a button on a menu-bar for a Window is operative to globallyturn off disclosure of personal information. In this case, globallyturning of the disclosure of personal information causes the initialresource locator 1630 to be rendered without the disclosure icon.

Turning now to FIG. 17, a flow diagram that illustrates modifying theamount of private data to be disclosed upon selection of a hyperlink, inaccordance with one embodiment of the present invention is presented. At1700, a resource locator is received. At 1705, a determination is maderegarding whether launching of the resource locator will discloseprivate data. If launching of the resource locator will not discloseprivate data, at 1710 a rendering is provided. If launching of theresource locator will disclose private data, at 1715 a rendering thatindicates private data will be disclosed upon launching the resourcelocator is provided. At 1720, downgrading the link to a form that doesnot require the private data is enabled. At 1725, a determination ismade regarding whether the resource locator has been selected. If theresource locator has been selected, it is launched at 1730.

While embodiments and applications of this invention have been shown anddescribed, it would be apparent to those skilled in the art having thebenefit of this disclosure that many more modifications than mentionedabove are possible without departing from the inventive concepts herein.The invention, therefore, is not to be restricted except in the spiritof the appended claims.

1. A method for rendering a request for data from an external device toindicate private data will be disclosed upon issuing the request, themethod comprising: receiving a request for data, said request to beissued to an external device; determining whether the request includesprivate data; rendering said requested data if said request does notinclude private data; and rendering said request to indicate saidprivate data will be disclosed upon issuing said request if said requestincludes private data.
 2. A method for rendering a hyperlink to includea disclosure icon if the associated resource locator requires privatedata, the method comprising: receiving a resource locator; determiningwhether launching said resource locator will disclose private data;providing a first rendering of said hyperlink if said launching will notdisclose said private data; providing a second rendering that indicatesprivate data will be disclosed upon launching said resource locator ifsaid launching will disclose said private data; determining whether saidfirst rendering has been selected or said second rendering has beenselected; and launching said resource locator if said resource locatorhas been selected.
 3. A method for rendering a hyperlink to indicateprivate data to be disclosed when the hyperlink is selected, the methodcomprising: receiving a resource locator; determining whether launchingof said resource locator will disclose private data; providing a firstrendering of said hyperlink if said launching will not disclose saidprivate data; providing a second rendering that indicates the privatedata that will be disclosed upon launching said resource locator if saidlaunching will disclose said private data; determining whether saidfirst rendering has been selected or said second rendering has beenselected; and launching said resource locator when said first renderingor said second rendering has been selected.
 4. A method for rendering ahyperlink to indicate private data to be disclosed when the hyperlink isselected, the method comprising: receiving a resource locator;determining whether launching of said resource locator will discloseprivate data; providing a first rendering of said hyperlink if saidlaunching will not disclose said private data; providing a secondrendering that indicates private data will be disclosed upon launchingsaid resource locator if said launching will disclose said private data;providing a third rendering that indicates the private data that will bedisclosed upon launching said resource locator if said second renderingis selected; and launching said resource locator if said first renderingis selected or if said third rendering is selected.
 5. A method formodifying the amount of private data to be disclosed upon selection of ahyperlink the method comprising: receiving a resource locator;determining whether launching of said resource locator will disclosesaid private data; providing a first rendering of said hyperlink if saidlaunching will not disclose said private data; providing a secondrendering that indicates private data will be disclosed upon launchingsaid resource locator if said launching will disclose said private data;enabling downgrading said resource locator to a form that does notrequire said private data after said providing a second rendering;determining whether said first rendering has been selected or saidsecond rendering has been selected; and launching said resource locatorif said first rendering has been selected or if said second renderinghas been selected.
 6. A method for rendering a request for data from anexternal device to indicate private data will be disclosed upon issuingthe request, the method comprising: step for receiving a request fordata, said request to be issued to an external device; step fordetermining whether the request includes private data; step forrendering said requested data if said request does not include privatedata; and step for rendering said request to indicate said private datawill be disclosed upon issuing said request if said request includesprivate data.
 7. A method for rendering a hyperlink to include adisclosure icon if the associated resource locator requires privatedata, the method comprising: step for receiving a resource locator; stepfor determining whether launching said resource locator will discloseprivate data; step for providing a first rendering of said hyperlink ifsaid launching will not disclose said private data; step for providing asecond rendering that indicates private data will be disclosed uponlaunching said resource locator if said launching will disclose saidprivate data; step for determining whether said first rendering has beenselected or said second rendering has been selected; and step forlaunching said resource locator if said resource locator has beenselected.
 8. A method for rendering a hyperlink to indicate private datato be disclosed when the hyperlink is selected, the method comprising:step for receiving a resource locator; step for determining whetherlaunching of said resource locator will disclose private data; step forproviding a first rendering of said hyperlink if said launching will notdisclose said private data; step for providing a second rendering thatindicates the private data that will be disclosed upon launching saidresource locator if said launching will disclose said private data; stepfor determining whether said first rendering has been selected or saidsecond rendering has been selected; and step for launching said resourcelocator when said first rendering or said second rendering has beenselected.
 9. A method for rendering a hyperlink to indicate private datato be disclosed when the hyperlink is selected, the method comprising:step for receiving a resource locator; step for determining whetherlaunching of said resource locator will disclose private data; step forproviding a first rendering of said hyperlink if said launching will notdisclose said private data; step for providing a second rendering thatindicates private data will be disclosed upon launching said resourcelocator if said launching will disclose said private data; step forproviding a third rendering that indicates the private data that will bedisclosed upon launching said resource locator if said second renderingis selected; and step for launching said resource locator if said firstrendering is selected or if said third rendering is selected.
 10. Amethod for modifying the amount of private data to be disclosed uponselection of a hyperlink the method comprising: step for receiving aresource locator; step for determining whether launching of saidresource locator will disclose said private data; step for providing afirst rendering of said hyperlink if said launching will not disclosesaid private data; step for providing a second rendering that indicatesprivate data will be disclosed upon launching said resource locator ifsaid launching will disclose said private data; step for enablingdowngrading said resource locator to a form that does not require saidprivate data after said providing a second rendering; step fordetermining whether said first rendering has been selected or saidsecond rendering has been selected; and step for launching said resourcelocator if said first rendering has been selected or if said secondrendering has been selected.
 11. A program storage device readable by amachine, embodying a program of instructions executable by the machineto perform a method for rendering a request for data from an externaldevice to indicate private data will be disclosed upon issuing therequest, the method comprising: receiving a request for data, saidrequest to be issued to an external device; determining whether therequest includes private data; rendering said requested data if saidrequest does not include private data; and rendering said request toindicate said private data will be disclosed upon issuing said requestif said request includes private data.
 12. A program storage devicereadable by a machine, embodying a program of instructions executable bythe machine to perform a method for rendering a hyperlink to include adisclosure icon if the associated resource locator requires privatedata, the method comprising: receiving a resource locator; determiningwhether launching said resource locator will disclose private data;providing a first rendering of said hyperlink if said launching will notdisclose said private data; providing a second rendering that indicatesprivate data will be disclosed upon launching said resource locator ifsaid launching will disclose said private data; determining whether saidfirst rendering has been selected or said second rendering has beenselected; and launching said resource locator if said resource locatorhas been selected.
 13. A program storage device readable by a machine,embodying a program of instructions executable by the machine to performa method for rendering a hyperlink to indicate private data to bedisclosed when the hyperlink is selected, the method comprising:receiving a resource locator; determining whether launching of saidresource locator will disclose private data; providing a first renderingof said hyperlink if said launching will not disclose said private data;providing a second rendering that indicates the private data that willbe disclosed upon launching said resource locator if said launching willdisclose said private data; determining whether said first rendering hasbeen selected or said second rendering has been selected; and launchingsaid resource locator when said first rendering or said second renderinghas been selected.
 14. A program storage device readable by a machine,embodying a program of instructions executable by the machine to performa method for rendering a hyperlink to indicate private data to bedisclosed when the hyperlink is selected, the method comprising:receiving a resource locator; determining whether launching of saidresource locator will disclose private data; providing a first renderingof said hyperlink if said launching will not disclose said private data;providing a second rendering that indicates private data will bedisclosed upon launching said resource locator if said launching willdisclose said private data; providing a third rendering that indicatesthe private data that will be disclosed upon launching said resourcelocator if said second rendering is selected; and launching saidresource locator if said first rendering is selected or if said thirdrendering is selected.
 15. A program storage device readable by amachine, embodying a program of instructions executable by the machineto perform a method for modifying the amount of private data to bedisclosed upon selection of a hyperlink the method comprising: receivinga resource locator; determining whether launching of said resourcelocator will disclose said private data; providing a first rendering ofsaid hyperlink if said launching will not disclose said private data;providing a second rendering that indicates private data will bedisclosed upon launching said resource locator if said launching willdisclose said private data; enabling downgrading said resource locatorto a form that does not require said private data after said providing asecond rendering; determining whether said first rendering has beenselected or said second rendering has been selected; and launching saidresource locator if said first rendering has been selected or if saidsecond rendering has been selected.
 16. An apparatus for rendering arequest for data from an external device to indicate private data willbe disclosed upon issuing the request, the apparatus comprising: meansfor receiving a request for data, said request to be issued to anexternal device; means for determining whether the request includesprivate data; means for rendering said requested data if said requestdoes not include private data; and means for rendering said request toindicate said private data will be disclosed upon issuing said requestif said request includes private data.
 17. An apparatus for rendering ahyperlink to include a disclosure icon if the associated resourcelocator requires private data, the apparatus comprising: means forreceiving a resource locator; means for determining whether launchingsaid resource locator will disclose private data; means for providing afirst rendering of said hyperlink if said launching will not disclosesaid private data; means for providing a second rendering that indicatesprivate data will be disclosed upon launching said resource locator ifsaid launching will disclose said private data; means for determiningwhether said first rendering has been selected or said second renderinghas been selected; and means for launching said resource locator if saidresource locator has been selected.
 18. An apparatus for rendering ahyperlink to indicate private data to be disclosed when the hyperlink isselected, the apparatus comprising: means for receiving a resourcelocator; means for determining whether launching of said resourcelocator will disclose private data; means for providing a firstrendering of said hyperlink if said launching will not disclose saidprivate data; means for providing a second rendering that indicates theprivate data that will be disclosed upon launching said resource locatorif said launching will disclose said private data; means for determiningwhether said first rendering has been selected or said second renderinghas been selected; and means for launching said resource locator whensaid first rendering or said second rendering has been selected.
 19. Anapparatus for rendering a hyperlink to indicate private data to bedisclosed when the hyperlink is selected, the apparatus comprising:means for receiving a resource locator; means for determining whetherlaunching of said resource locator will disclose private data; means forproviding a first rendering of said hyperlink if said launching will notdisclose said private data; means for providing a second rendering thatindicates private data will be disclosed upon launching said resourcelocator if said launching will disclose said private data; means forproviding a third rendering that indicates the private data that will bedisclosed upon launching said resource locator if said second renderingis selected; and means for launching said resource locator if said firstrendering is selected or if said third rendering is selected.
 20. Anapparatus for modifying the amount of private data to be disclosed uponselection of a hyperlink the apparatus comprising: means for receiving aresource locator; means for determining whether launching of saidresource locator will disclose said private data; means for providing afirst rendering of said hyperlink if said launching will not disclosesaid private data; means for providing a second rendering that indicatesprivate data will be disclosed upon launching said resource locator ifsaid launching will disclose said private data; means for enablingdowngrading said resource locator to a form that does not require saidprivate data after said providing a second rendering; means fordetermining whether said first rendering has been selected or saidsecond rendering has been selected; and means for launching saidresource locator if said first rendering has been selected or if saidsecond rendering has been selected.
 21. An apparatus for rendering arequest for data from an external device to indicate private data willbe disclosed upon issuing the request, the apparatus comprising: aresource locator populator for determining whether a request for dataincludes private data; and a user interface in communication with saidresource locator populator and configured to: receive said request fordata, said request to be issued to an external device; render saidrequested data if said request does not include private data; and rendersaid request to indicate said private data will be disclosed uponissuing said request if said request includes private data.
 22. Anapparatus for rendering a hyperlink to include a disclosure icon if theassociated resource locator requires private data, the apparatuscomprising: a resource locator populator for determining whetherlaunching said resource locator will disclose private data; and a userinterface in communication with said resource locator populator andconfigured to: receive said resource locator; provide a first renderingof said hyperlink if said launching will not disclose said private data;provide a second rendering that indicates private data will be disclosedupon launching said resource locator if said launching will disclosesaid private data; determine whether said first rendering has beenselected or said second rendering has been selected; and launch saidresource locator if said resource locator has been selected.
 23. Anapparatus for rendering a hyperlink to indicate private data to bedisclosed when the hyperlink is selected, the apparatus comprising: aresource locator populator for determining whether launching saidresource locator will disclose private data; and a user interface incommunication with said resource locator populator and configured to:receive a resource locator; provide a first rendering of said hyperlinkif said launching will not disclose said private data; provide a secondrendering that indicates the private data that will be disclosed uponlaunching said resource locator if said launching will disclose saidprivate data; determine whether said first rendering has been selectedor said second rendering has been selected; and launch said resourcelocator when said first rendering or said second rendering has beenselected.
 24. An apparatus for rendering a hyperlink to indicate privatedata to be disclosed when the hyperlink is selected, the apparatuscomprising: a resource locator populator for determining whetherlaunching said resource locator will disclose private data; and a userinterface in communication with said resource locator populator andconfigured to: receive said resource locator; determine whetherlaunching of said resource locator will disclose private data; provide afirst rendering of said hyperlink if said launching will not disclosesaid private data; provide a second rendering that indicates privatedata will be disclosed upon launching said resource locator if saidlaunching will disclose said private data; provide a third renderingthat indicates the private data that will be disclosed upon launchingsaid resource locator if said second rendering is selected; and launchsaid resource locator if said first rendering is selected or if saidthird rendering is selected.
 25. An apparatus for modifying the amountof private data to be disclosed upon selection of a hyperlink theapparatus comprising: a resource locator populator for determiningwhether launching said resource locator will disclose private data; anda user interface in communication with said resource locator populatorand configured to: receive said resource locator; determine whetherlaunching of said resource locator will disclose said private data;provide a first rendering of said hyperlink if said launching will notdisclose said private data; provide a second rendering that indicatesprivate data will be disclosed upon launching said resource locator ifsaid launching will disclose said private data; enable downgrading saidresource locator to a form that does not require said private data aftersaid providing a second rendering; determine whether said firstrendering has been selected or said second rendering has been selected;and launch said resource locator if said first rendering has beenselected or if said second rendering has been selected.